﻿using TA.DotNetUtils;
using System;
public class DataObjectWithProperties : SomeDataObject, IPropertiesContainer
{
	#region IPropertiesContainer Members

	public object GetValue(string name)
	{
		switch (name)
		{
			case "Alpha": return this.Alpha;
			case "Beta": return this.Beta;
			case "Castle": return this.Castle;
			default: throw new ArgumentOutOfRangeException("name");
		}
	}
	public void SetValue(string name, object value)
	{
		switch (name)
		{
			case "Alpha": this.Alpha = (string)value; break;
			case "Beta": this.Beta = (string)value; break;
			case "Castle": this.Castle = (int)(long)value; break;
			default: throw new ArgumentOutOfRangeException("name");
		}
	}

	#endregion
}
